home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2003 March / DPPCPRO0303.ISO / Components / Microsoft ASP / _SETUP.1 / ASPWizard.jar / asp / wizard / SeqTemplate.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-20  |  6.5 KB  |  172 lines

  1. package asp.wizard;
  2.  
  3. import asp.netobjects.nfx.wizard.WizardPage;
  4. import asp.util.ResourceUtil;
  5. import asp.wizard.def.DefAbstract;
  6. import asp.wizard.def.DefConnection;
  7. import asp.wizard.def.DefList;
  8. import asp.wizard.def.DefPage;
  9. import asp.wizard.def.DefQuery;
  10. import java.util.Enumeration;
  11. import java.util.Vector;
  12.  
  13. public class SeqTemplate {
  14.    protected WizardManager _wizardManager;
  15.    private int _templateid = -1;
  16.    protected int _nextDefPageId = 1;
  17.    // $FF: synthetic field
  18.    static Class class$asp$wizard$WizardModelDbConnection;
  19.    // $FF: synthetic field
  20.    static Class class$asp$wizard$WizardModelDbQuery;
  21.    // $FF: synthetic field
  22.    static Class class$asp$wizard$WizardModelDbList1;
  23.    // $FF: synthetic field
  24.    static Class class$asp$wizard$WizardManager;
  25.  
  26.    SeqTemplate(WizardManager owner, int id) {
  27.       this._wizardManager = owner;
  28.       this._templateid = id;
  29.    }
  30.  
  31.    protected Vector getSeqClasses() {
  32.       return null;
  33.    }
  34.  
  35.    private int getTemplateId() {
  36.       return this._templateid;
  37.    }
  38.  
  39.    public WizardModelAbstract addSequence(WizardPage afterNode, DefPage page) throws ESeqTemplate {
  40.       Vector seqClasses = this.getSeqClasses();
  41.       Vector newseq = new Vector();
  42.  
  43.       try {
  44.          if (seqClasses == null) {
  45.             return null;
  46.          } else {
  47.             Class modelClass = null;
  48.             WizardPage model = null;
  49.             Enumeration e = seqClasses.elements();
  50.  
  51.             while(e.hasMoreElements()) {
  52.                modelClass = (Class)e.nextElement();
  53.                newseq.addElement(modelClass.newInstance());
  54.             }
  55.  
  56.             for(int i = 0; i < newseq.size(); ++i) {
  57.                this.initModel(newseq, i, page);
  58.             }
  59.  
  60.             this._wizardManager.insertModels(afterNode, newseq);
  61.             return newseq.size() > 0 ? (WizardModelAbstract)newseq.elementAt(0) : null;
  62.          }
  63.       } catch (InstantiationException e) {
  64.          throw new ESeqTemplate(((Throwable)e).getMessage());
  65.       } catch (IllegalAccessException e) {
  66.          throw new ESeqTemplate(((Throwable)e).getMessage());
  67.       }
  68.    }
  69.  
  70.    protected void initModel(Vector modelContainer, int modelIndex, DefPage assocPage) {
  71.       WizardModelAbstract model = (WizardModelAbstract)modelContainer.elementAt(modelIndex);
  72.       ((WizardPage)model).setWizard(this._wizardManager);
  73.       model.setTemplateId(this.getTemplateId());
  74.       model.setDefPage(assocPage);
  75.    }
  76.  
  77.    public int getLength() {
  78.       int result = 0;
  79.       Vector seqClasses = this.getSeqClasses();
  80.       if (seqClasses != null) {
  81.          result = seqClasses.size();
  82.       }
  83.  
  84.       return result;
  85.    }
  86.  
  87.    public boolean isSeqComplete(WizardPage headNode) {
  88.       boolean match = true;
  89.       Vector seqClasses = this.getSeqClasses();
  90.       if (seqClasses != null && headNode != null) {
  91.          WizardPage currNode = headNode;
  92.  
  93.          for(Enumeration e = seqClasses.elements(); e.hasMoreElements() && match; currNode = this._wizardManager.getNextModel(currNode)) {
  94.             match = currNode != null && e.nextElement() == currNode.getClass();
  95.          }
  96.       }
  97.  
  98.       return match;
  99.    }
  100.  
  101.    DefConnection getDefConnection(WizardPage model) {
  102.       DefConnection result = null;
  103.       WizardPage foundModel = this._wizardManager.getModelOfClass(class$asp$wizard$WizardModelDbConnection != null ? class$asp$wizard$WizardModelDbConnection : (class$asp$wizard$WizardModelDbConnection = class$("asp.wizard.WizardModelDbConnection")), model);
  104.       if (foundModel != null) {
  105.          WizardModelDbConnection wmConn = (WizardModelDbConnection)foundModel;
  106.          result = wmConn.getDefConnection();
  107.       }
  108.  
  109.       return result;
  110.    }
  111.  
  112.    DefQuery getDefQuery(WizardPage model) {
  113.       DefQuery result = null;
  114.       WizardPage foundModel = this._wizardManager.getModelOfClass(class$asp$wizard$WizardModelDbQuery != null ? class$asp$wizard$WizardModelDbQuery : (class$asp$wizard$WizardModelDbQuery = class$("asp.wizard.WizardModelDbQuery")), model);
  115.       if (foundModel != null) {
  116.          WizardModelDbQuery wmQuery = (WizardModelDbQuery)foundModel;
  117.          result = wmQuery.getDefQuery();
  118.       }
  119.  
  120.       return result;
  121.    }
  122.  
  123.    DefList getDefList(WizardPage model) {
  124.       DefList result = null;
  125.       WizardPage foundModel = this._wizardManager.getModelOfClass(class$asp$wizard$WizardModelDbList1 != null ? class$asp$wizard$WizardModelDbList1 : (class$asp$wizard$WizardModelDbList1 = class$("asp.wizard.WizardModelDbList1")), model);
  126.       if (foundModel != null) {
  127.          WizardModelDbList1 wmList = (WizardModelDbList1)foundModel;
  128.          result = wmList.getDefList();
  129.       }
  130.  
  131.       return result;
  132.    }
  133.  
  134.    public Class getClassOfLastModel() {
  135.       Class result = null;
  136.       if (this.getSeqClasses() != null) {
  137.          result = (Class)this.getSeqClasses().lastElement();
  138.       }
  139.  
  140.       return result;
  141.    }
  142.  
  143.    protected String getDefPageBaseName() {
  144.       String name = ResourceUtil.getResourceString("asp.wizard.res", class$asp$wizard$WizardManager != null ? class$asp$wizard$WizardManager : (class$asp$wizard$WizardManager = class$("asp.wizard.WizardManager")), "value.sequence.default");
  145.       return name;
  146.    }
  147.  
  148.    public DefPage createDefPage() {
  149.       DefPage result = null;
  150.       result = new DefPage();
  151.       ((DefAbstract)result).setName(this.getDefPageBaseName() + " " + this._nextDefPageId);
  152.       return result;
  153.    }
  154.  
  155.    public void reclaimDefPageId() {
  156.       --this._nextDefPageId;
  157.    }
  158.  
  159.    public void updateNextDefPageId() {
  160.       ++this._nextDefPageId;
  161.    }
  162.  
  163.    // $FF: synthetic method
  164.    static Class class$(String class$) {
  165.       try {
  166.          return Class.forName(class$);
  167.       } catch (ClassNotFoundException forName) {
  168.          throw new NoClassDefFoundError(((Throwable)forName).getMessage());
  169.       }
  170.    }
  171. }
  172.